Inferring the relationships between the runtime components in a middleware system is not always straightforward. In a typical server administration scenario, this can include manual analysis of the behavior of runtime performance of various components. Such manual analysis can result in multiple iterations to determine the root cause of a performance problem. This can entail loss of crucial time in a production environment in fixing the performance problems. These iterations can also result in false positives as root causes, which may not be the actual component causing degradation in performance in the system. At present there is no standard way of determining whether the performance symptoms visible within a component in a middleware system are due to a problem within that component or whether they are merely an effect of a dependent component. These are areas that embodiments of the invention are intended to address.